Embodiments of the present invention are discussed in the context of JAVA class library performance. This is a very popular form of object-oriented programming (OOP) at the present time because it is applicable to forms of object-oriented programming. Like most object-oriented programming paradigms objects and methods are implemented to be self-contained. Therefore, when a second object is derived from a first object, and a third object is derived from a second object, as in the case of a JAVA string class and its parent classes, a process may be included in the subclasses which duplicates a function in the object in the parent class.
One example of such an operation is a function to check for a buffer overflow during execution. Normally, if a buffer will not overflow during execution of a subclass, it will not overflow during execution of the parent class (unless the buffer is explicitly modified). However, assuming a method of a derivative object uses a buffer to hold a context of a stream, the object will check buffer capacity before passing execution to the next higher level object. Consequently, excessive, redundant method calls will be inherent in JAVA class libraries. The excessive calls decrease JAVA performance and increase overhead. Data shows that excessive redundant method execution can degrade the performance of certain JAVA™ class library method calls by two times.